package co.edu.uniquindio.ondas.entidades;

import co.edu.uniquindio.ondas.entidades.Persona;

import java.io.Serializable;
import java.lang.String;
import java.util.List;

import javax.persistence.*;

/**
 * Entity implementation class for Entity: Evaluador
 *La entidad hereda de Persona
 */
@Entity
@DiscriminatorValue("evaluador")
public class Evaluador extends Persona implements Serializable {

	
	/**
	 * clave del evaluador
	 */
	private String clave;
	private static final long serialVersionUID = 1L;
	
	/**
	 * Relacion bidireccional con la entidad EvaluacionProyectos
	 * se crea lista evaluacionesProyectos de tipo EvaluacionProyectos para determinar a que evaluacionProyectos pertenece el evaluador
	 */
	@SuppressWarnings("unused")
	@OneToMany(mappedBy="evaluador", cascade=CascadeType.ALL)
	private List<EvaluacionProyectos>evaluacionesProyectos;
	
	/**
	 * Relacion bidireccional con la entidad LineaTematica
	 * se crea lineaTematica de tipo LineaTematica para determinar a que lineaTematica pertenece el evaluador
	 */
	@ManyToOne
	private LineaTematica lineaTematica;

	/**
	 * Metodo constructor 
	 */
	public Evaluador() {
		super();
	}

	/**
	 * Metodo accesor del atributo clave
	 * @return the clave
	 */
	public String getClave() {
		return clave;
	}

	/**
	 * Metodo modificador del atributo
	 * @param clave the clave to set
	 */
	public void setClave(String clave) {
		this.clave = clave;
	}

	/**
	 * Metodo accesor del atributo evaluacionesProyectos
	 * @return the evaluacionesProyectos
	 */
	public List<EvaluacionProyectos> getEvaluacionesProyectos() {
		return evaluacionesProyectos;
	}

	/**
	 * Metodo modificador del atributo
	 * @param evaluacionesProyectos the evaluacionesProyectos to set
	 */
	public void setEvaluacionesProyectos(
			List<EvaluacionProyectos> evaluacionesProyectos) {
		this.evaluacionesProyectos = evaluacionesProyectos;
	}

	/**
	 * Metodo accesor del atributo lineaTematica
	 * @return the lineaTematica
	 */
	public LineaTematica getLineaTematica() {
		return lineaTematica;
	}

	/**
	 * Metodo modificador del atributo
	 * @param lineaTematica the lineaTematica to set
	 */
	public void setLineaTematica(LineaTematica lineaTematica) {
		this.lineaTematica = lineaTematica;
	}   
	
   
}
